home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / Scroller.h < prev    next >
C/C++ Source or Header  |  1990-12-20  |  1KB  |  57 lines

  1. #ifndef Scroller_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define Scroller_First
  6.  
  7. #include "Cluster.h"
  8.  
  9. typedef enum ScrollDir {
  10.     eScrollNone       = 0,
  11.     eScrollRight      = BIT(0),
  12.     eScrollDown       = BIT(1),
  13.     eScrollLeft       = BIT(2),
  14.     eScrollUp         = BIT(3),
  15.     eScrollHideScrolls= BIT(4),
  16.     eScrollDefault    = eScrollRight | eScrollDown
  17. } ScrollDir;
  18.  
  19. const int cScrollBarSize= 20;
  20.  
  21. class Scroller: public CompositeVObject {
  22. protected:
  23.     class ScrollBar *sb[4];
  24.     class Clipper *vf;
  25.     VObject *vop;
  26.     Point ms;
  27.     ScrollDir controls, visibleControls;
  28. public:
  29.     MetaDef(Scroller);
  30.     Scroller(VObject *v= 0, Point e= gPoint0, int id= cIdNone,
  31.             ScrollDir= (ScrollDir)(eScrollDefault|eScrollHideScrolls));
  32.     void Init(VObject*, Point minSize, int id);
  33.     Clipper *GetClipper()
  34.     { return vf; }
  35.     void Draw(Rectangle);
  36.     void Control(int, int, void*);
  37.     
  38.     void SetBgInk(Ink *);
  39.     Ink *GetBgInk();
  40.     
  41.     void SetExtent(Point e);
  42.     void SetOrigin(Point at);
  43.     
  44.     Metric GetMinSize();
  45.     void ViewSizeChanged(Point viewExtent);
  46.     bool NeedControls(Point e, Point vs);
  47.     void BubbleUpdate(Point bs);
  48.     void Open(bool mode);
  49.  
  50.     ostream& PrintOn (ostream&);
  51.     istream& ReadFrom(istream&);
  52. };
  53.  
  54. #endif Scroller_First
  55.  
  56.  
  57.